#include<bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int tc;
cin>>tc;
while(tc--){
int n,i,j,k,l;
cin>>n;
l=1;
cout<<"+ "<<n+1<<endl;
cin>>k;
cout<<"+ "<<n<<endl;
cin>>k;
vector<int>v;
long long r=n;
while(l<=r){
if(l==r){
v.push_back(l);l++;
}
else{
v.push_back(r);r--;
v.push_back(l);l++;
}
}
int mx=-1,mx_ind=-1,ans1[n+2],ans2[n+2],p;
for(i=2;i<=n;i++){
cout<<"? "<<1<<" "<<i<<endl;
cin>>p;
if(p>mx){
mx=p;
mx_ind=i;
}
}
for(i=1;i<=n;i++){
if(i==mx_ind){
ans1[i]=v[0];
ans2[i]=v[n-1];
}
else{
cout<<"? "<<mx_ind<<" "<<i<<endl;
cin>>p;
ans1[i]=v[p];
ans2[i]=v[n-p-1];
}
}
cout<<"! ";
for(i=1;i<=n;i++)cout<<ans1[i]<<" ";
for(i=1;i<=n;i++)cout<<ans2[i]<<" ";
cout<<endl;cin>>k;
}
}
1436A - Reorder | 1363C - Game On Leaves |
1373C - Pluses and Minuses | 1173B - Nauuo and Chess |
318B - Strings of Power | 1625A - Ancient Civilization |
864A - Fair Game | 1663B - Mike's Sequence |
448A - Rewards | 1622A - Construct a Rectangle |
1620A - Equal or Not Equal | 1517A - Sum of 2050 |
620A - Professor GukiZ's Robot | 1342A - Road To Zero |
1520A - Do Not Be Distracted | 352A - Jeff and Digits |
1327A - Sum of Odd Integers | 1276A - As Simple as One and Two |
812C - Sagheer and Nubian Market | 272A - Dima and Friends |
1352C - K-th Not Divisible by n | 545C - Woodcutters |
1528B - Kavi on Pairing Duty | 339B - Xenia and Ringroad |
189A - Cut Ribbon | 1182A - Filling Shapes |
82A - Double Cola | 45A - Codecraft III |
1242A - Tile Painting | 1663E - Are You Safe |